package com.cskaoyan.javase.array.memory4;

/**
 * @description: test
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 既然引用数据类型可以默认初始化，为什么我声明一个数组后不能使用呢？ 错误的
 * 栈上的变量需要手动初始化，堆上的对象（中的数据）不需要手动初始化
 * 是堆上的对象中的数据不需要手动初始化
 * 引用数据类型在堆上的对象中，才可以默认初始化
 *
 *
 */
public class Demo4 {
    public static void main(String[] args) {
        int[] arr; //这个变量在哪里？ 栈上，所以需要手动初始化
        arr = new int[3];
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        //String是引用数据类型
        String[] arr2 = new String[3];
        System.out.println(arr2[0]); //null
        System.out.println(arr2[1]);
        System.out.println(arr2[2]);


    }
}
